
#include "TFInterfaceFactory.h"

#include "TFControllerImpl.h"
#include "TFModelImpl.h"
#include "TFViewImpl.h"
#include "TFAIImpl.h"
#include "TFRuleCheckerImpl.h"

HRESULT TFInterfaceFactory::CreateTFController(TFControllerInterface *& oControllerInterface)
{
	HRESULT HR = S_OK;

	oControllerInterface = new TFControllerImpl();
	
	return HR;
}

HRESULT TFInterfaceFactory::CreateTFView(TFViewInterface *& oViewInterface)
{
	HRESULT HR = S_OK;

	oViewInterface = new TFViewImpl();

	return HR;
}

HRESULT TFInterfaceFactory::CreateTFModel(TFModelInterface *& oModelInterface)
{
	HRESULT HR = S_OK;

	oModelInterface = new TFModelImpl();

	return HR;
}

HRESULT TFInterfaceFactory::CreateTFAI(TFAIInterface *& oAIInterface)
{
	HRESULT HR = S_OK;

	oAIInterface = new TFAIImpl();

	return HR;
}

HRESULT TFInterfaceFactory::CreateTFRuleChecker(TFRuleCheckerInterface *& oRuleCheckerInterface)
{
	HRESULT HR = S_OK;

	oRuleCheckerInterface = new TFRuleCheckerImpl();

	return HR;
}


